{% extends 'template.html' %}
{% load static %}

{% block content %}
    <div class="container">
        数据统计
        <!--面板1-->
        <div class="panel panel-default">
            <div class="panel-heading">折线图</div>
            <div class="panel-body">
                <!--面板1-->
                <div id="m1" style="width: 100%;height: 400px"></div>
            </div>
        </div>
        <div class="row">
            <div class="col-sm-8">
                <!--面板2-->
                <div class="panel panel-default">
                    <div class="panel-heading">柱状图</div>
                    <div class="panel-body">
                        <div id="m2" style="width: 100%;height: 400px;">
                        </div>
                    </div>
                </div>
            </div>
            <div class="col-sm-4">
                <!--面板3-->
                <div class="panel panel-default">
                    <div class="panel-heading">饼图</div>
                    <div class="panel-body">
                        <div id="m3" style="width: 100%;height: 400px"></div>
                    </div>
                </div>
            </div>
        </div>
    </div>
{% endblock %}

{% block js %}
    <script src="{% static 'js/echarts.js' %}"></script>
    <script type="text/javascript">
        $(function () {
            initBar();
            initPie();
            initLine();
        })

        /**
         * 初始化柱状图
         */
        function initBar() {
            // 基于准备好的dom，初始化echarts实例
            var myChart = echarts.init(document.getElementById('m2'));

            // 指定图表的配置项和数据
            var option = {
                title: {
                    text: '上半年业绩图',
                    textAlign: "auto",
                    left: "center",
                },
                tooltip: {},
                legend: {
                    data: [],//后台获取
                    bottom: 0,
                },
                xAxis: {
                    data: []//后台获取
                },
                yAxis: {},
                series: []//后台获取
            };

            //使用Ajax向后台获取请求
            $.ajax({
                url: "/chart/bar/",
                type: "get",
                dataType: "JSON",
                success: function (res) {
                    //将后台返回的数据更新到option中（legend，xAxis，series）
                    if (res.status) {
                        //将后台数据更新到option中
                        option.legend.data = res.data.legend;
                        option.xAxis.data = res.data.x_axis;
                        option.series = res.data.series_list;
                        // 使用刚指定的配置项和数据显示图表。
                        myChart.setOption(option);
                    } else {

                    }
                }
            })
        }

        /**
         * 初始化饼状图
         */
        function initPie() {
            // 基于准备好的dom，初始化echarts实例
            var myChart = echarts.init(document.getElementById('m3'));
            var option = {//必须定义成局部变量不然按全局变量处理
                title: {
                    text: '部门预算占比',
                    subtext: '代码骑士未来游戏公司',
                    left: 'center'
                },
                tooltip: {
                    trigger: 'item'
                },
                legend: {
                    //orient: 'vertical',
                    //left: 'left',
                    bottom: 0
                },
                series: [
                    {
                        name: '预算',
                        type: 'pie',
                        radius: ['40%', '70%'],
                        avoidLabelOverlap: false,
                        itemStyle: {
                            borderRadius: 10,
                            borderColor: '#fff',
                            borderWidth: 2
                        },
                        label: {
                            show: false,
                            position: 'center'
                        },
                        emphasis: {
                            label: {
                                show: true,
                                fontSize: '40',
                                fontWeight: 'bold'
                            }
                        },
                        labelLine: {
                            show: false
                        },
                        data: [],
                    }
                ]
            };
            //使用Ajax向后台获取请求
            $.ajax({
                url: "/chart/pie/",
                type: "get",
                dataType: "JSON",
                success: function (res) {
                    //将后台返回的数据更新到option中（legend，xAxis，series）
                    if (res.status) {
                        //将后台数据更新到option中
                        option.series[0].data = res.data
                        // 使用刚指定的配置项和数据显示图表。
                        myChart.setOption(option);
                    } else {

                    }
                }
            })
            myChart.setOption(option);
        }

        /**
         * 初始化折线图
         */
        function initLine() {
            // 基于准备好的dom，初始化echarts实例
            var myChart = echarts.init(document.getElementById('m1'));

            var option = {
                title: {
                    text: '分公司业绩图',
                    left: "center",
                },
                tooltip: {
                    trigger: 'axis'
                },
                legend: {
                    data: [],//后台
                    bottom: 0
                },
                toolbox: {
                    feature: {
                        saveAsImage: {}
                    }
                },
                xAxis: {
                    type: 'category',
                    boundaryGap: false,
                    data: []//后台
                },
                yAxis: {
                    type: 'value'
                },
                series: []//后台
            };

            $.ajax({
                url: "/chart/line/",
                type: "get",
                dataType: "JSON",
                success: function (res) {
                    if (res.status) {
                        option.legend.data = res.legend;
                        option.xAxis.data = res.x_axis;
                        option.series = res.series_list;
                        myChart.setOption(option);
                    } else {

                    }
                }
            })
        }
    </script>
{% endblock %}